import { createRouter, createWebHashHistory  } from 'vue-router'
import { useUserStore } from '@/stores/user'
// 路由懒加载（推荐）
const Home = () => import('@/views/Home.vue')
const Login = () => import('@/views/Login.vue')
const routes = [
  {
    path: '/',
    redirect: '/home'
  },
  {
    path: '/login',
    name: 'Login',
    component: Login,
    meta: {
      requiresAuth: false
    },
  },
  {
    path: '/home',
    name: 'Home',
    component: Home,
    meta: {
      requiresAuth: true
    }
  },
  {
    path: '/ljwk',
    name: 'Ljwk',
    meta: {
      requiresAuth: true
    },
    component: () => import('@/views/Ljwk.vue')
  }
]

const router = createRouter({
  history: createWebHashHistory (), 
  routes
})

// 路由守卫
router.beforeEach((to, from, next) => {
  const userStore = useUserStore()
  
  // 检查路由是否需要认证
  if (to.matched.some(record => record.meta.requiresAuth)) {
    // 检查用户是否已登录
    if (!userStore.token) {
      // 未登录，重定向到登录页面
      next({
        path: '/login',
        query: { redirect: to.fullPath } // 保存目标路径，登录后跳转
      })
    } else {
      // 已登录，继续访问

  
      next()
    }
  } else if (to.matched.some(record => record.meta.guest)) {
    
    // 检查是否是游客路由（如登录页）
    if (userStore.token) {
      // 已登录用户访问游客路由，重定向到首页
      next('/')
    } else {
      next()
    }
  } else {
    // 不需要认证的路由
    next()
  }
})
export default router